fix(interfaces): always-light public surfaces (chat, resume, file shares, unsubscribe, invite) with emcn components#5336
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryLow Risk Overview Chat UI is aligned to the design system: composer and message actions use emcn Paused execution (resume) drops the extra landing Auth-adjacent surfaces remove the decorative ThemeProvider extends forced-light routing to Reviewed by Cursor Bugbot for commit d579343. Bugbot is set up for automated code reviews on this repo. Configure here. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a66f4f2. Configure here.
Greptile SummaryThis PR fixes a bug where the deployed chat overlay was hardcoded with a
Confidence Score: 5/5Safe to merge — the change corrects a real rendering bug with no functional regressions in the changed paths. The hard-coded No files require special attention. Important Files Changed
Reviews (4): Last reviewed commit: "fix(interfaces): light mode for file-sha..." | Re-trigger Greptile |
…keep overlay tint on attachment remove
|
@greptile review |
…stead of the svg asset
|
@greptile review |
|
@greptile review |

Summary
No API endpoints changed — this is UI-only, across the public page routes:
/chat/:identifier(deployed chat)darkclass and used the retired static-dark--landing-*tokens, overriding the ThemeProvider's forced-light. Now pinslight+ platform tokens — never follows the visitor themeSimWordmark(was the whitesim-landing.svgasset)Button; markdown renderer aligned to platform Chat conventions (token-based, light code blocks)/resume/:workflowId/:executionId(human-in-the-loop resume)Navbar(the interfaces shell already provides the light logo chrome — nav was doubled)style={{}}converted to Tailwind + platform tokens; legacy@/components/uiSelect →ChipSelect; form controls →ChipInput/ChipTextareawith propererrorwiring/f/:token(public file shares)darkclass, darkAuthBackground, marketingNavbar) — rebuilt on the lightLogoShell+SupportFooterframe, same as the chat gatesSimWordmark/unsubscribe+/invite/:id--landing-text(#ececec) inside the lightAuthShell— white-on-white. Swapped to platform tokensAUTH_SUBMIT_BTNCTAs →AuthSubmitButton(same emcn Chip as login/signup); secondary actions as bordered neutral chipsCross-cutting
/f/and/unsubscribeee/sso) CTAs migrated off the legacy class tooAuthBackground+auth-background-svg(zero consumers) and theAUTH_SUBMIT_BTN/AUTH_PRIMARY_CTA_BASEclass stringsType of Change
Testing
Verified in the browser against a local deployed chat, a real
/f/:tokenshare (view + password gate),/unsubscribe, and the resume page — all render light with readable text regardless of system theme.bun run lint:check,bun run type-check,bun run check:api-validation:strict, and the interfaces vitest suite pass. No--landing-*tokens ordark:variants remain on these surfaces.Checklist